import java.util.HashSet;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: Hua YY
 * Date: 2025-01-21
 * Time: 21:00
 */
class Solution3 {
    public int longestConsecutive(int[] nums) {
        if(nums.length == 0) return 0;
        HashSet<Integer> set = new HashSet<>();
        for(int i = 0 ; i < nums.length ; i++){
            set.add(nums[i]);
        }
        int ret = 1;
        for(int num : set){
            if(set.contains(num-1)){
                continue;
            }else{//起始数
                int tmp = 1;
                int curNum = num;
                while(set.contains(curNum+1)){
                    tmp++;
                    curNum++;
                }
                ret = Math.max(ret,tmp);
            }
        }
        return ret;
    }
}



// class Solution {
//     public int longestConsecutive(int[] nums) {
//         if(nums.length == 0) return 0;
//         Arrays.sort(nums);
//         int n = nums.length;
//         int ret = 1;
//         for(int i = 1 ; i < n ; i++){
//             int tmp = 1;
//             while( i < n && (nums[i] - nums[i-1] == 1 || nums[i] - nums[i-1] == 0)){
//                 if(nums[i] - nums[i-1] == 0){
//                     i++;
//                     continue;
//                 }
//                 tmp++;
//                 i++;
//             }
//             ret = Math.max(ret,tmp);
//         }
//         return ret;

//     }
// }
public class Test3 {
}
